<?xml version="1.0" encoding="UTF-8"?>
<html>
    <head>
        <link type="text/css" rel="stylesheet" href="./css/template.css" />
        <link type="text/css" rel="stylesheet" href="./css/SyntaxHighlighter.css" />
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title>Le prototypage par Gatonero</title>
        <meta http-equiv="Content" />
        <meta name="”Keywords”" content="”Gatonero”" />
        <script language="javascript" src="./js/shInit.js" />
        <script language="javascript" src="./js/shCore.js" />
        <script language="javascript" src="./js/shBrushCpp.js" />
        <script language="javascript" src="./js/shBrushCSharp.js" />
        <script language="javascript" src="./js/shBrushCss.js" />
        <script language="javascript" src="./js/shBrushDelphi.js" />
        <script language="javascript" src="./js/shBrushJava.js" />
        <script language="javascript" src="./js/shBrushJScript.js" />
        <script language="javascript" src="./js/shBrushPhp.js" />
        <script language="javascript" src="./js/shBrushPython.js" />
        <script language="javascript" src="./js/shBrushRuby.js" />
        <script language="javascript" src="./js/shBrushSql.js" />
        <script language="javascript" src="./js/shBrushVb.js" />
        <script language="javascript" src="./js/shBrushXml.js" />
    </head>
    <body>
        <div class="chapter">
            <p>﻿</p>
        </div>
        <div class="chapter">
            <h2>Le prototypage par Gatonero</h2>
        </div>
        <div class="chapter">
            <h2>Introduction</h2>
            <p />
            <center>
                <img src="./images/Gatonero.bmp" />
            </center>
            Gatonero est une start-up française créée en 2000 dont le bureau de recherche et développement est basé à Nîmes. Partenaire de Sun Microsystem, Gatonero est un projet qui permet d'améliorer sa productivité. C'est un outil de prototypage instantané de vos applications.
            <br />
            Dialogue Client/Serveur : Production d'un cahier des charges qui permet de soulever les problèmes entre ce qui est écrit et ce qui est attendu.
        </div>
        <div class="chapter">
            <h2>Le principe des IHM</h2>
            <p>L'interface est la clef dans une application :</p>
            <ul>
                <li>productivité</li>
                <li>complexe</li>
                <li>coûteuse</li>
            </ul>
            <p>
                Il y a souvent une friction entre les commerciaux et les développeurs au niveau des attentes et de ce qui est obtenus.
                <br />
                "L’interface, c'est la différence entre j'y arrive ... ou ... je n'y arrive pas", il y a une notion de perception d'un logiciel (une interface graphique) par l'utilisateur.
            </p>
            <p>Le principe à mettre en place est la recherche de solutions Star. Voici un tableau récapitulatif des différentes catégories dans lequel une solution peut être assimilée :</p>
            <img src="./images/IHM1.bmp" width="500" />
            <p>Il faut viser les produits star mais il est très facile de passer d'une catégorie à une autre. Il faut passer de l'outil à l'appropriation. Un outil, lorsque l'on ajoute une fonctionnalité, est soit un produit star, soit un produit refusé.</p>
            <p>Il est donc important de passer par une phase de prototypage de vos applications. Il y a cependant un fossé entre l'attente et le réel :</p>
            <ul>
                <li>77% des chefs de projet veulent un outil de maquettage.</li>
                <li>19% seulement des chefs de projet qui ont un outil de maquettage l'utilisent.</li>
            </ul>
        </div>
        <div class="chapter">
            <h2>Le choix du bon client (fin ou riche)</h2>
            <p>Le principe de prototypage des applications comprend plusieurs phases :</p>
            <ul>
                <li>maquettage (dialogue avec l'utilisateur)</li>
                <li>prototype (sécurisation)</li>
                <li>version de test (satisfaction des utilisateurs)</li>
                <li>IHM de production (réutilisable selon les plateformes)</li>
            </ul>
            <p>Le client fin :</p>
            <ul>
                <li>coût de déploiement zéro (tout est centralisé sur le serveur)</li>
                <li>ubiquité de fonctionnalité</li>
            </ul>
            <p>Les faiblesses :</p>
            <ul>
                <li>pauvreté de l'interaction</li>
                <li>complexité de maintenance du code</li>
                <li>liberté de conception graphique / confusion de l'utilisateur</li>
            </ul>
            <p>Java est plus populaire du côté serveur que du coté client. Aujourd'hui avec l'avancement de J2SE 1.5, l'appellation devient J2SE 5.0 due aux évolutions majeures :</p>
            <ul>
                <li>Java devient peu à peu un service important dans l'automobile.</li>
                <li>JTC (Java Tool Community) pour l'uniformisation des plug-ins.</li>
                <li>Ocean, nouveau look &amp; feel par défaut avec J2SE 5.0.</li>
                <li>Sun annonce jusqu'à 50% de performance en plus due aux nouveautés sur le garbage collector.</li>
                <li>Développement orienté aspect</li>
            </ul>
            <p>La tendance selon certain serait le retour du client riche mais il faut bien avoir la notion que les usages des différents types de clients sont complémentaires :</p>
            <ul>
                <li>client fin pour les transactions.</li>
                <li>client riche pour les fonctionnalités avancées.</li>
            </ul>
            <p>Au delà du client riche et du client fin, la valeur principale est d'être multi-plateforme (palm, pocketPC, wap, i-mode, ...). Cependant on ne peut pas cloner l'IHM pour toutes les plateformes, il faut pour cela prévoir un partage des IHM et qu'elles soient auto-adaptatives.</p>
        </div>
        <div class="chapter">
            <h2>Le projet Gatonero</h2>
            <p>C'est un framework qui a pour but de faciliter la création des IHM de manière à la fois fonctionnelle et riche afin que celles-ci soient réutilisables en mode de production et ne restent pas au simple stage de maquette. Le framework de Gatonero intègre un moteur de rendu permettant d'avoir un client riche, un client fin, une applet ou un périphérique mobile comme les téléphones portables.</p>
            <img src="./images/Gatonero1.bmp" width="500" />
            <p>Gatonero propose une solution alternative à la conception d'IHM :</p>
            <ul>
                <li>Gatonero Studio : outil WYSIWYG</li>
                <li>Gatonero XML</li>
                <li>Gatonero framework :programmable</li>
            </ul>
            <p>L'interface est modifiable dynamiquement, c'est une interface évènementielle équivalente au Swing (SwingSet). Le framework Gatonero permet une intégration de widgets tiers, un moteur d'introspection (logique métier) et la gestion des différentes sources de données (Web Services, XML, base de données).</p>
            <p>Les solutions pour constituer des interfaces graphiques peuvent être de différentes générations :</p>
            <ul>
                <li>1ère génération (programmatique) : puissante mais lourde notamment lors de modifications.</li>
                <li>2ème génération (XML) : rapide et moins coûteux, ne nécessite pas de compétence en programmation. Cette génération peut poser des problèmes de contraintes d'intégration.</li>
                <li>3ème génération : combinaison des deux précédentes générations.</li>
            </ul>
            <p>Java ONE 2004 s'est tenu à San Francisco le 1 juillet &amp; 28 juin  2004. Java ONE a commencée en mai 1997 avec Java 1.0.</p>
        </div>
    </body>
</html>

